package org.example.commonapi.domain.onlineCode;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;

import javax.validation.constraints.NotNull;

@Data
@Document(collection = "code")
@NoArgsConstructor
@AllArgsConstructor
public class Code {
    /**
     * 主键ID
     */
    private String id;
    /**
     * 代码
     */
    @NotNull(message = "代码不能为空")
    private String code;
    /**
     * 语言类型
     */
    @NotNull(message = "语言类型不能为空")
    private String language;
    /**
     * 测试集ID，通过上传测试集获取的ID
     */
    @NotNull(message = "测试集ID不能为空")
    @Field("test_group_mongo_id")
    private String testGroupMongoId;

    @NotNull(message = "测试集上传ID不能为空")
    @Field("test_group_id")
    private String testGroupId;

    /**
     * 题目ID，通过上传题目第一步传到第二步，然后在第二步返回后获取
     */
    @NotNull(message = "ProblemId不能为空")
    @Field("problem_id")
    private String problemId;

    @Field("code_id")
    private String codeId;


}

